/*
 * Copyright © 2020-2021 尛飛俠（Denvie） All rights reserved.
 */

package cn.denvie.springboot.mbp.service.impl;

import cn.denvie.springboot.mbp.mapper.UserMapper;
import cn.denvie.springboot.mbp.model.entity.User;
import cn.denvie.springboot.mbp.service.UserService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 用户服务实现类。
 * 继续自Mybatis-Plus的ServiceImpl<M extends BaseMapper<T>, T>。
 *
 * @author Denvie
 * @date 2021/7/1
 * @since 1.0.0
 */
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    @Autowired
    private UserMapper userMapper;

    /**
     * 不进行 count sql 优化，解决 MP 无法自动优化 SQL 问题，这时候你需要自己查询 count 部分
     * page.setOptimizeCountSql(false);
     * 当 total 为小于 0 或者设置 setSearchCount(false) 分页插件不会进行 count 查询
     * 要点!! 分页返回的对象与传入的对象是同一个
     */
    @Override
    public IPage<User> pagingSelect(Page<User> page, Integer age) {
        return userMapper.pagingSelect(page, age);
    }
}
